﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.text.html;
using iTextSharp.text.html.simpleparser;
using System.IO;
using System.Data.SqlClient;

public partial class frmListaDeContactos : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
       /* Label1.Text= "nuevo";
        this.Session["cuit"] = Label1.Text;
        Response.Redirect("frmContacto.aspx");*/
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
        Response.Redirect("MenuAdministracion.aspx");
    }
    protected void GridView1_SelectedIndexChanged1(object sender, EventArgs e)
    {
        String  empresa,  cuit2, nombre, observaciones, apellido, dni, nacimiento, mail, telefono, calle, numero, piso, dpto, codigo, barrio, localidad, provincia;
        String id;
       

        this.Label1.Text = this.GridView1.Rows[this.GridView1.SelectedIndex].Cells[5].Text;

        this.SqlDataSource2.SelectParameters["dni"].DefaultValue = this.Label1.Text;
         this.SqlDataSource2.DataSourceMode = SqlDataSourceMode.DataReader;
        SqlDataReader datos = (SqlDataReader)this.SqlDataSource2.Select(DataSourceSelectArguments.Empty);

        if (datos.Read())
        {
            empresa = datos["razonSocial"].ToString();
            cuit2= datos["cuit"].ToString();
            nombre= datos["nombre"].ToString();
            apellido= datos["apellido"].ToString();
            dni= datos["numDocumento"].ToString();
            nacimiento= datos["fechaNacimiento"].ToString();
            mail= datos["dirCorreo"].ToString();
            telefono= datos["numTelefono"].ToString();
            calle= datos["calle"].ToString();
            numero= datos["numeroCalle"].ToString();
            piso= datos["piso"].ToString();
            dpto= datos["departamento"].ToString();
            codigo= datos["codPostal"].ToString();
            barrio= datos["nombreBarrio"].ToString();
            localidad= datos["nombreLocalidad"].ToString();
            provincia = datos["nombreProvincia"].ToString();
            observaciones = datos["observaciones"].ToString();
            id = datos["idContacto"].ToString();

            //Datos del Contacto
            this.Session["cuit"] = cuit2;
            this.Session["razon"] = empresa;
            this.Session["nombre"] = nombre;
            this.Session["apellido"] = apellido;
            this.Session["dni"] = dni;
            this.Session["nacimiento"] = nacimiento;
            this.Session["calle"] = calle;
            this.Session["numero"] = numero;
            this.Session["piso"] = piso;
            this.Session["dpto"] = dpto;
            this.Session["barrio"] = barrio;
            this.Session["localidad"] = localidad;
            this.Session["provincia"] = provincia;
            this.Session["codigo"] = codigo;
            this.Session["telefono"] = telefono;
            this.Session["mail"] = mail;
            this.Session["observaciones"] = observaciones;
            this.Session["id"] = id;
          

            Response.Redirect("frmContacto.aspx");
        }


    }
    protected void Button3_Click(object sender, EventArgs e)
    {

        String fecha = DateTime.Now.ToString("dd/MM/yyyy");
        string imagepath = Server.MapPath("Img");

        this.SqlDataSource1.DataSourceMode = SqlDataSourceMode.DataReader;
        SqlDataReader datos = (SqlDataReader)this.SqlDataSource1.Select(DataSourceSelectArguments.Empty);
        iTextSharp.text.Font fontTitle = FontFactory.GetFont("Arial", 18, iTextSharp.text.Font.BOLD, BaseColor.BLACK);
        iTextSharp.text.Font fontHead = FontFactory.GetFont("Arial", 8, iTextSharp.text.Font.BOLD, BaseColor.BLACK);
        iTextSharp.text.Font fontBody = FontFactory.GetFont("Arial", 8, iTextSharp.text.Font.NORMAL, BaseColor.BLACK);

        FileStream fs = new FileStream(Server.MapPath("~/") + "listacontactos.pdf", FileMode.Create, FileAccess.Write, FileShare.None);
        Rectangle rec3 = new Rectangle(PageSize.A4.Rotate());
        Document doc = new Document(rec3, 5, 5, 5, 5);
        PdfWriter writer = PdfWriter.GetInstance(doc, fs);

        Console.WriteLine("");

        Paragraph titulo = new Paragraph("LISTADO DE CONTACTOS AL " + fecha, fontTitle);
        titulo.Alignment = Element.ALIGN_JUSTIFIED;

        doc.Open();
        iTextSharp.text.Image logo = iTextSharp.text.Image.GetInstance(imagepath + "/logoaf.png");
        doc.Add(logo);
        doc.Add(new Paragraph("  "));
        doc.Add(titulo);
        doc.Add(new Paragraph("  "));
        iTextSharp.text.pdf.PdfPTable table = new iTextSharp.text.pdf.PdfPTable(10);
        table.HorizontalAlignment = 0;
        table.TotalWidth = 792f;
        table.LockedWidth = true;
        float[] widths = new float[] { 134f, 80f, 80f, 88f, 80f, 80f, 100f, 70f, 70f, 50f };
        table.SetWidths(widths);

        PdfPCell hempresa = new PdfPCell(new Phrase("EMPRESA", new Font(fontHead)));
         PdfPCell hapellido = new PdfPCell(new Phrase("APELLIDO", new Font(fontHead)));
        PdfPCell hnombre = new PdfPCell(new Phrase("NOMBRE", new Font(fontHead)));
        PdfPCell hdni = new PdfPCell(new Phrase("DNI", new Font(fontHead)));
        PdfPCell htelefono = new PdfPCell(new Phrase("TELEFONO.", new Font(fontHead)));
        PdfPCell hemail = new PdfPCell(new Phrase("E-MAIL", new Font(fontHead)));
        PdfPCell hcalle = new PdfPCell(new Phrase("CALLE", new Font(fontHead)));
        PdfPCell hnro = new PdfPCell(new Phrase("NRO.", new Font(fontHead)));
        PdfPCell hpiso = new PdfPCell(new Phrase("PISO", new Font(fontHead)));
        PdfPCell hdpto = new PdfPCell(new Phrase("DPTO.", new Font(fontHead)));



        table.AddCell(hempresa);
        table.AddCell(hapellido);
        table.AddCell(hnombre);
        table.AddCell(hdni);
        table.AddCell(htelefono);
        table.AddCell(hemail);
        table.AddCell(hcalle);
        table.AddCell(hnro);
        table.AddCell(hpiso);
        table.AddCell(hdpto);

        doc.Add(new Paragraph("  "));
        while (datos.Read())
        {
            String razon = datos["razonSocial"].ToString();
            String apellido = datos["apellido"].ToString();
            String nombre = datos["nombre"].ToString();
            String dni = datos["numDocumento"].ToString();
            String telefono = datos["numTelefono"].ToString();
            String email = datos["dirCorreo"].ToString();
            String calle = datos["calle"].ToString();
            String nro = datos["numeroCalle"].ToString();
            String piso = datos["piso"].ToString();
            String dpto = datos["departamento"].ToString();

            PdfPCell crazon = new PdfPCell(new Phrase(razon, new Font(fontBody)));
            PdfPCell capellido = new PdfPCell(new Phrase(apellido, new Font(fontBody)));
            PdfPCell cnombre = new PdfPCell(new Phrase(nombre, new Font(fontBody)));
            PdfPCell cdni = new PdfPCell(new Phrase(dni, new Font(fontBody)));
            PdfPCell ctelefono = new PdfPCell(new Phrase(telefono, new Font(fontBody)));
            PdfPCell cemail = new PdfPCell(new Phrase(email, new Font(fontBody)));
            PdfPCell ccalle = new PdfPCell(new Phrase(calle, new Font(fontBody)));
            PdfPCell cnro = new PdfPCell(new Phrase(nro, new Font(fontBody)));
            PdfPCell cpiso = new PdfPCell(new Phrase(piso, new Font(fontBody)));
            PdfPCell cdpto = new PdfPCell(new Phrase(dpto, new Font(fontBody)));


            table.AddCell(crazon);
            table.AddCell(capellido);
            table.AddCell(cnombre);
            table.AddCell(cdni);
            table.AddCell(ctelefono);
            table.AddCell(cemail);
            table.AddCell(ccalle);
            table.AddCell(cnro);
            table.AddCell(cpiso);
            table.AddCell(cdpto);

        }
        doc.Add(table);
        doc.Add(new Paragraph("  "));
        doc.Add(new Paragraph("  "));

        doc.Close();

        Response.ContentType = "application/pdf";
        Response.AddHeader("Content-Disposition", "attachment;filename=listacontactos.pdf");
        Response.TransmitFile(Server.MapPath("~/") + "listacontactos.pdf");


    }
}